package org.zoomdev.zoom.serializer.modules;

import org.zoomdev.zoom.aop.annotations.NoEnhance;
import org.zoomdev.zoom.ioc.annotations.IocBean;
import org.zoomdev.zoom.ioc.annotations.Module;
import org.zoomdev.zoom.serializer.Serializer;
import org.zoomdev.zoom.serializer.SerializerFactory;
import org.zoomdev.zoom.serializer.impl.DefaultSerializer;
import org.zoomdev.zoom.serializer.impl.DefaultSerializerFactory;

@NoEnhance
@Module
public class CoreSerializerModule {


    @IocBean
    public SerializerFactory getSerializerFactory() {
        return new DefaultSerializerFactory();
    }

    @IocBean
    public <T> Serializer<T> getTypedSerializer() {
        return DefaultSerializer.SERIALIZER;
    }

    @IocBean
    public Serializer getSerializer() {
        return DefaultSerializer.SERIALIZER;
    }
}
